DataChain: Neues Open-Source-Tool für die KI-gestützte Datenkuratierung
Das Open-Source-Tool DataChain verarbeitet unstrukturierte Daten mit KI. Es nutzt LLMs und ML-Modelle zur Datenkuratierung und -analyse.
Iterative, das Unternehmen hinter dem Kommandozeilen-Tool DVC (Data Version Control), kündigt ein weiteres Open-Source-Projekt an: DataChain ist eine speziell auf das Verarbeiten und Bewerten unstrukturierter Daten ausgelegte Python-Bibliothek. Sie soll ML- und Datenfachleute bei der Optimierung ihrer Arbeitsabläufe unterstützen.
Daten kuratieren mit LLMs und lokalen ML-Modellen
Während immer mehr Unternehmen generative KI einsetzen, können einer aktuellen Umfrage von McKinsey zufolge bisher nur 15 Prozent der befragten Firmen dadurch nennenswerte positive Auswirkungen auf ihr Geschäft bestätigen. Zu den Gründen dafür zählten die Herausforderungen bei der Verarbeitung unstrukturierter Daten. Genau an diesem Punkt möchte Iterative mit DataChain ansetzen. Das Open-Source-Tool soll dazu beitragen, Daten in leichter verwertbare Formate zu überführen und die Qualität zu verbessern – beispielsweise durch KI-gestützte Datenkuratierung. Dabei können Entwicklerinnen und Entwickler sowohl lokale ML-Modelle als auch API-Aufrufe großer Sprachmodelle (LLMs wie GPT oder Claude) verwenden, um ihre Daten anzureichern.
Weitere typische Einsatzfelder für DataChain sind LLM-Analysen und das Validieren multimodaler KI-Anwendungen. Beim Validieren von Daten erlaubt es DataChain, strikt typisierte Pydantic-Objekte anstelle von JSON zu nutzen. Im GitHub-Repository des Projekts zeigt das Entwicklungsteam beispielhaft, wie sich Chatbot-Dialoge aus verschiedenen Datenquellen mit unterschiedlichen Methoden beurteilen und bewerten lassen – etwa anhand eines lokalen ML-Modells oder mit LLMs, die als universeller Klassifikator dienen.
Zum Speichern der Datensätze nutzt DataChain eine eingebettete SQLite-Datenbank, die automatisch versioniert. Entwicklerinnen und Entwickler können mit dem Tool bei Bedarf direkt die gesamte Antwort eines LLM in die interne DB serialisieren, anstatt die Datenstruktur aus der Antwort (Klasse ChatCompletionResponse
) extrahieren zu müssen. Das folgende Codebeispiel beschreibt, wie sich gespeicherte Datensätze abrufen lassen und über die Objekte iteriert werden kann.
chain = DataChain.from_dataset("response")
# Iterating one-by-one: support out-of-memory workflow
for file, response in chain.limit(5).collect("file", "response"):
# verify the collected Python objects
assert isinstance(response, ChatCompletionResponse)
status = response.choices[0].message.content[:7]
tokens = response.usage.total_tokens
print(f"{file.get_uri()}: {status}, file size: {file.size}, tokens: {tokens}")
Weitergehende Informationen zu DataChain liefert die offizielle Ankündigung des Open-Source-Projekts von Iterative. Wer sich einen konkreten Eindruck von DataChain verschaffen möchte, sollte einen Blick in das GitHub-Repo werfen. Dort findet sich neben detaillierten Informationen zur Python-Bibliothek auch ein Link zu einem einführenden Tutorial.
(map)